import { Fly, FlyRequestConfig, FlyResponse } from 'flyio'
// import { loadShow, loadHide, toastShow } from '@/utils/window'
// import { getCurrentPagePath } from '@/utils/util'
// import { REQ_SUCCESS_CODE } from '@/const'

// eslint-disable-next-line import/no-commonjs
const WxFly = require('flyio/dist/npm/wx');

const $http: Fly = new WxFly();

// 配置Fly实例
// 设置请求
$http.config.baseURL = process.env.REACT_APP_BASE_API;
// 设置拦截器
// $http.lock() // 请求挂起
// $http.unlock() // 解锁请求
// $http.clear() // 清除请求队列

// 请求发起时拦截
$http.interceptors.request.use((request: FlyRequestConfig) => {
  request.headers['Device-Type'] = 5;
  // 如果要在此处做异步校验操作的话，需要返回一个Promise的对象,比如再次new一个fly实例发出请求并返回
  return request; // 返回request对象继续请求
})

// 请求完成时拦截
$http.interceptors.response.use(
  ({ data, request }: FlyResponse) => {
    return data;
  },
  (err: Error) => {}
)

// 导出
export default $http;
